package com.snow.dao;

import com.snow.pojo.dto.MetaDto;
import com.snow.pojo.dto.cond.MetaCond;
import com.snow.pojo.model.MetaDomain;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * 项目dao
 */
@Mapper
public interface MetaDao {
    /**
     * 添加项目
     */
    int addMeta(MetaDomain metaDomain);
    /**
     * 删除项目
     */
    int deleteMeta(@Param("mId") int mid);
    /**
     *更新项目
     */
    int updateMeta(MetaDomain metaDomain);
    /**
     *根据编号获取项目
     */
    MetaDomain getMetaById(@Param("mId") int mid);
    /**
     根据条件获取项目
     */
    List<MetaDomain> getMetasByCond(MetaCond metaCond);

    /**
     *根据类型获取Meta数量
     */
    Long getMetaCountByType(@Param("type") String type);
    /**
     *根据sql查询获取
     */
    List<MetaDto> selectFromSql(Map<String,Object> sql);
}
